草庐IT

Qt 设置鼠标形状

设置窗口鼠标形状 voidQWindow::setCursor(constQCursor&cursor)鼠标光标位于此窗口上时将采用此形状,除非设置了覆盖光标。Qt预定义了一系列有用的鼠标形状。列表如下:setCursor(constQCursor&cursor)使用:this->setCursor(Qt::CrossCursor);//this也可改为其他控件如果未设置光标形状,或者在调用unsetCursor()之后,则使用父窗口的光标形状。默认情况下,光标形状为Qt::ArrowCursor,即箭头光标。如果光标离开窗口,即使鼠标被抓住,某些基础窗口实现也会重置光标。如果要为所有窗口设置

QT解决因屏幕分辨率和缩放产生的界面异常

显示器分辨率和缩放比例在某些情况下,由于屏幕分辨率和缩放比例不是100%,导致一些界面或字体的显示出现异常。此时需要获取到分辨率和缩放比例等相关参数,加以矫正,使界面在不同分辨率和缩放比例下都显示正常。以Windows11为例,右键开始图标选择【系统】-【屏幕】,进入如下界面。找到【缩放和布局】此电脑的最佳缩放和显示器分辨率分别为200%,2560*1440;在此设置下可以达到最佳显示效果,但问题随之而来。界面异常正常情况,即100%缩放比例的情况下,一个图像显示窗口及字体如下,现在将显示器分辨率和缩放比例调整到2560*1440和200%,同一个界面和字体如下,可以看到,图像显示窗口和字体都

QT 之基础(一) 详解UI文件设计与运行机制

一、项目文件组成1.1创建一个项目文件    建立好项目如下 (1)项目组织文件【untitled.pro】存储项目设置文件QT+=coregui//表示项目中添加coregui模块greaterThan(QT_MAJOR_VERSION,4):QT+=widgets//条件执行语句,Qt主版本大于4时,才加入widgets语句TARGET=untitled//表示生成目标可执行文件的名称TEMPLATE=app//项目使用的模板是app(2)主程序入口文件【main.cpp】实现函数main()函数程序文件 #include"mainwindow.h"#includeintmain(inta

Linux下打包发布QT程序,并运行在其他没有安装QT环境的linux系统上

一、Linux下打包发布步骤如下编译应用程序环境:ubuntu18.04版本开发环境:Qt5.14.2编译环境:gcc_64要移植的电脑:ubuntu18.04版本,没有开发环境第一步:打包依赖库1、创建一个打包目录,把生成的可执行文件拷贝放在创建的打包目录下,这里我是创建了一个打包目录名称为:pack创建目录命令:mkdirpackcxx@cxx-virtual-machine:~/demo$mkdirpack 2、在打包目录下新建一个脚本pack.sh 内容如下:#!/usr/bin/shexe="test"#程序名称des="/home/cxx/demo/pack"#打包文件夹位置dep

Qt之UDP通信

这里说明一下,UDP通信中分为三种通信分别为单播、组播和广播,下面将一一为大家介绍。同样的我们都需要在工程文件中添加networkQT+=coreguinetwork进行UDP通信需要用到的头文件#include这里我们把UDP通信分为两个部分写,一个是发送端,另一个是接收端,而发送端中又分为单播、组播和广播三种形式,下面我们先来看看写发送端的代码程序的步骤:发送端Udpsend的代码:1、单播(1)创建套接字QUdpSocketmSocket;mSocket=newQUdpSocket();(2)发送数据到指定的地址和端口号mSocket->writeDatagram(ui->textEdi

基于QT C++封装微软开源的edge-TTS

微软EdgeTTS是一种先进的语音合成技术,它能够将文本转换为自然流畅的语音。该技术基于深度学习和人工智能技术,能够模拟人类语音的音调、语速、语调和情感,使得合成的语音听起来非常自然。微软edge-tts项目地址:GitHub-rany2/edge-tts:UseMicrosoftEdge'sonlinetext-to-speechservicefromPython(withoutneedingMicrosoftEdge/WindowsoranAPIkey)。(推荐使用python3.10及以上环境)。可以直接使用pip进行安装:pipinstalledge-tts常用命令:列出所有支持的语音

关于图形界面Pyqt与QT的区别选择

    关于图像界面(GUI)想必大家都并不陌生,想要将一段已经完善的功能列表进行可视化操作并且具有一定的操作空间,将功能可视化必不可少,一个好的可视化工具不仅可以集成一系列小的文件功能,还能将不同方法之间的调用联系起来,形成良好的系统整理功能。本期我们就来分析一下基于Python的Pyqt和基于C的Qt之间的区别和利弊。1.区别定义:        PyQt和Qt都是Python中的GUI框架,它们都提供了创建图形用户界面(GUI)的功能。它们之间的主要区别在于它们的设计目标和用途。        PyQt是一个基于Python的GUI框架,它主要用于创建Windows应用程序。PyQt的设

Qt加载SVG矢量图片,放大缩小图片质量不发生变化。

目录前言:1.使用.SVG和.PNG文件对比图2.使用QLabel显示.SVG矢量图片3.总结前言:首先简单描述下SVG:SVG意为可缩放矢量图形(ScalableVectorGraphics)。SVG使用XML格式定义图像。给界面或者按钮上显示一个图标或背景图片,日常使用.png格式的文件完全够用,但是有些使用场景需要把图片放大显示时,使用.png文件就会开始模糊,这时需要加载.SVG文件,即使放大也很清晰。1.使用.SVG和.PNG文件对比图左边显示的是svg格式的图片,右边显示的是png格式的图片,当放大到一定尺寸时,svg图片依然很清晰, png图片已经模糊了。2.使用QLabel显示

Qt6教程之二(1) 布局 Layouts

(一)Qt布局Layouts若你的电脑还未安装Qt,那么请转至上篇文章 Qt-6下载安装教程 按照指导进行操作。本篇所讲的内容为Qt布局,为了节省时间,所用项目也是使用上篇的helloworld。那么什么是布局呢?简单来说,布局就是有效组织屏幕上显示的各类资源的模板,如按钮、文本框、图片、视频等;Qt常见的布局有四种:verticallayout 垂直布局,horizontallayout水平布局,gridlayout网格布局,formlayout 表格布局。下面将分为鼠标拖拽式实现及纯代码实现两种方式进行演示,对于这两种方式将进行简单介绍。对于鼠标拖拽式实现界面元素摆放的方式非常简单、快捷、

Qt:QLineEdit的使用

1.QLineEdit设置光标位置ui->lineEdit->setCursorPosition(0);2.QLineEdit设置只读ui->lineEdit->setReadOnly(true);3.QLineEdit设置限制输入的最小值、最大值ui->lineEdit->setValidator(newQIntValidator(1,59,this));4.QLineEdit限制某些特殊符号在lineEdit中的输入QRegExprx=QRegExp("[^\\\\/:;*?\"|^]*");QRegExpValidator*validator=newQRegExpValidator(rx